package com.example.myapplication.kotlin
/*
 Kotlin的函数API是指Kotlin标准库中提供的一组高阶函数和扩展函数,
 它们使得Kotlin中的函数式编程变得更加简单和强大。
 这些函数API提供了许多常见的函数式编程操作,
 帮助咱们编写更加简洁、可读性更强的代码。
 */

/*
 疑问的相关解释:
 listOf函数创建的是一个不可变的集合(是对象)为什么可以用filter、max这些方法？
 因为listOf 创建的 List 对象继承了 Kotlin 集合框架中的扩展函数
 */
fun main() {
    // 1.创建一个不可变集合,集合中的元素是 负5到5
    val list = listOf(-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5)
    // 2.筛选集合中的正数
    val positiveList = list.filter { it > 0 }
    println(positiveList) //[1, 2, 3, 4, 5]
    // 3.获取集合中的最大值
    val max = list.max()
    println(max) //5
    // 4.获取集合中的最小值
    val min = list.min()
    println(min) //-5
    // 5.获取集合中的平均值
    val average = list.average()
    println(average) //0.0
    // 6.正序
    val sortedList = list.sorted()
    println(sortedList) //[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
    // 7.倒序
    val sortedDescendingList = list.sortedDescending()
    println(sortedDescendingList) //[5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5]
}